//
//  NSString+Regex.h
//  MoYou
//
//  Created by she1323 on 16/10/10.
//  Copyright © 2016年 she1323. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
@interface NSString (Regex)


+(NSString *)judegeIsNullAndTransform:(NSString *)transstr;

#pragma 正则匹配手机号
+ (BOOL)checkTelNumber:(NSString *) telNumber;
#pragma 正则匹配用户密码6-18位数字和字母组合
+ (BOOL)checkPassword:(NSString *) password;
#pragma 正则匹配用户姓名,20位的中文或英文
+ (BOOL)checkUserName : (NSString *) userName;
#pragma 正则匹配用户身份证号
+ (BOOL)checkUserIdCard: (NSString *) idCard;
#pragma 正则匹配URL
+ (BOOL)checkURL : (NSString *) url;



+(NSString *)VerticalStringWithString:(NSString *)string;

#pragma mark---根据指定文本,字体和最大高度计算尺寸
+ (CGSize)sizeWidthWidth:(NSString *)text font:(UIFont *)font maxHeight:(CGFloat)height;





/**
 *  判断是不是手机号
 */
- (BOOL)isValidPhoneNumber;

/*  判断用户输入的密码是否符合规范，符合规范的密码要求：
 1. 长度大于8位
 2. 密码中必须同时包含数字和字母
 */
- (BOOL)judgePassWordLegal;

+ (NSString*)isOrNoPasswordStyle:(NSString *)passWordName;

+(NSString *)getCurrentTime;

/**
 判断返回的字段是否为null

 @param string 返回字段
 @return 判断结果
 */
+ (BOOL) isBlankString:(NSString *)string;


+(NSDate *)getPriousorLaterDateFromDate:(NSDate *)date withMonth:(NSInteger)month;

/**
 根据时间字符串返回date

 */
+(NSDate *)getDateAccordingTimeStr:(NSString *)timeStr;
/**
 根据date返回时间字符串
 
 */
+(NSString *)getTimeStrAccoringDate:(NSDate *)date;
/**
 时间戳转字符串

 @param time 时间戳
 @return 字符串
 */
+ (NSString *)stringWithTime:(CGFloat)time;

/**
 获取当前时间的时间戳

 @return 时间戳
 */
+(NSInteger)getNowTimestamp;

/**
 将某个时间转化成为时间戳

 @param formatTime 时间
 @param format 时间样式
 @return 时间戳
 */
+(NSInteger)timeSwitchTimestamp:(NSString *)formatTime andFormatter:(NSString *)format;

/**
 将某个时间戳转化成为时间

 @param timestamp 时间戳
 @param format 时间样式
 @return 时间
 */
+(NSString *)timestampSwitchTime:(NSInteger)timestamp andFormatter:(NSString *)format;

// 字典转json字符串方法

+(NSString *)convertToJsonData:(NSDictionary *)dict;

/**
 数组转Json
 
 @param dict 数组
 @return 返回值
 */
+(NSString *)convertToJsonArray:(NSArray *)dict;

//根据商户开通状态类型返回对应的值
+(NSString *)backShopTypeAccordingType:(NSString *)type;

// 根据商户的选中商户名称信息返回类型
+(NSString *)backTypeAccordingShop:(NSString *)title;
//根据账户类型返回相对应的账户类型值
+(NSString *)backAccountTypeAccordingTitle:(NSString *)title;
//根据账户类型值返回相对应的标题
+(NSString *)backTitleAccordingAccountType:(NSString *)accountType;
//根据商户开通状态返回对应的值
+(NSString *)backShopStatusAccordingStatus:(NSString *)status;

/// 根据代理的文字描述返回类型
/// @param title 文字描述
+(NSString *)backSuboradinateTypeAccoringTitle:(NSString *)title;

/// 根据代理类型返回相对应的文字
/// @param type 描述
+(NSString *)backSuboradinateTitleAccoringType:(NSString *)type;
@end
